window: Fix resizing with solid-csd
authorTimm Bäder <mail@baedert.org>
Sun, 9 Jul 2017 08:21:30 +0000 (10:21 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 20 Jul 2017 01:27:15 +0000 (21:27 -0400)
We can't use a 20px resize handle in that case so fall back to the
padding area of the window. Still ugly but it works.

gtk/gtkwindow.c

index 763df487adebbab1a73a3485cc9b065ada6d2967..ac1513cc12885668deef3e56b15c020186ad49f6 100644 (file)
@@ -1710,11 +1710,21 @@ edge_under_coordinates (GtkWindow     *window,
   _gtk_widget_get_allocation (GTK_WIDGET (window), &allocation);
   context = _gtk_widget_get_style_context (GTK_WIDGET (window));
   gtk_style_context_save_to_node (context, priv->decoration_node);
-  gtk_style_context_get_margin (context, &border);
-  gtk_style_context_restore (context);
 
-  handle_h = MIN (RESIZE_HANDLE_SIZE, allocation.width / 2);
-  handle_v = MIN (RESIZE_HANDLE_SIZE, allocation.height / 2);
+  if (priv->use_client_shadow)
+    {
+      handle_h = MIN (RESIZE_HANDLE_SIZE, allocation.width / 2);
+      handle_v = MIN (RESIZE_HANDLE_SIZE, allocation.height / 2);
+      gtk_style_context_get_margin (context, &border);
+    }
+  else
+    {
+      handle_h = 0;
+      handle_v = 0;
+      gtk_style_context_get_padding (context, &border);
+    }
+
+  gtk_style_context_restore (context);
 
   /* Check whether the click falls outside the handle area */
   if (x >= allocation.x + border.left + handle_h &&